Barcodes have been used for many years in commercial settings. Barcodes are printed on many different types of media and represent information in encoded form. Once printed, these barcodes may be scanned using a barcode scanner, which reads the barcode to decode the information encoded therein. The prior art includes many examples of printing machines capable of printing barcodes and many instances of barcode scanners.
Often, a document having one or more barcodes may be copied or transferred among different people and places. During the copying and transferring, the condition of the barcodes may degrade over a period of time and eventually become unreadable by a barcode reader.
Typical wear and tear includes marks on the light areas of the code or scratches, which remove dark areas from the code. Stray pen marks or grime can change the appearance of the code as well as flaking of toner or paint. Distortion of a printed code occurs when the printout is crumpled or folded.
Copying can degrade a barcode. For instance, as the code is copied, the contrast of the new copy can be lower than that of the original. A barcode transmitted through a fax machine may not lose contrast, but if the lines of the code are not aligned precisely with the movement of the paper through the scanner, aliasing will be introduced along the edges of the code, creating a stair-step pattern where a smooth line existed before.
Most 1 dimensional or 2 dimensional barcodes are based on dark and light bars of a given width or that are multiples of a given width. For instance, the UPC code used in retail establishments is created from a series of bars and spaces, which are 1, 2, 3, or 4 units wide. The width of a 1 unit wide line is sometimes referred to as the “x-width” of the code.
If the “x-width” of the code is near but not exactly the size of a printing pixel unit width, the boundaries of the code lines will fall between printed pixels. Instead of a transition where one pixel is black and the next pixel white, a gray pixel will be printed between the black and white pixels. The transitions between dark and light areas will be weak. Barcodes are usually read by measuring the distance between transitions of dark and light areas, and weak transitions reduce the readability of the code.
Additionally, most printers have some amount of “bleed” corresponding to the printing process. For instance, when an inkjet printer prints a line of ink on a page, the ink bleeds into the page and a line printed at a certain thickness (t) will eventually spread out to be some thickness slightly greater than the printed thickness (t+delta t). If the spread (delta t) is near ½ of the x-width, the printed code will be difficult if not impossible to read after it is printed and the ink has spread.